import sys
import re
import os


# 计算字符数
def 计算字符数(file):
    with open(file, 'r', encoding='utf-8') as f:
        return len(f.read())

# 计算单词数
def 计算单词数(file):
    with open(file, 'r', encoding='utf-8') as f:
        return len(f.read().split())

# 计算句子数
def 计算句子数(file):
    with open(file, 'r', encoding='utf-8') as f:
        return len([s for s in re.split(r'[.!?]', f.read()) if s.strip()])

# 显示帮助信息
def show_help():
    print("用法:")
    print("  v0.2.exe -c <file>  : 字符数 ")
    print("  v0.2.exe -w <file>  : 单词数 ")
    print("  v0.2.exe -s <file>  : 句子数 ")


def main():
    if len(sys.argv) != 3:
        show_help()
        return

    option = sys.argv[1]
    file = sys.argv[2]

    if not os.path.isfile(file):
        print("错误: 文件不存在")
        return

    if option == '-character':
        print("字符数:", 计算字符数(file))
    elif option == '-word':
        print("单词数:", 计算单词数(file))
    elif option == '-sentence':
        print("句子数:", 计算句子数(file))

    else:
        show_help()

if __name__ == '__main__':
    main()